In mathematics, the Entscheidungsproblem (pronounced [ɛntˈʃaɪdʊŋspʁoˌbleːm], German for 'decision problem') is a challenge posed by David Hilbert in 1928. The Entscheidungsproblem asks for an algorithm that will take as input a description of a formal language and a mathematical statement in the language and produce as output either "True" or "False" according to whether the statement is true or false. Such an algorithm would be able to decide, for example, whether statements such as Goldbach's conjecture or the Riemann hypothesis are true, even though no proof or disproof of these statements is known. The Entscheidungsproblem has often been identified in particular with the decision problem for first-order logic (that is, the problem of algorithmically determining whether a first-order statement is universally valid).
In 1936 and 1937 Alonzo Church and Alan Turing respectively,[1] published independent papers showing that it is impossible to decide algorithmically whether statements in arithmetic are true or false, and thus a general solution to the Entscheidungsproblem is impossible. This result is now known as Church's Theorem or the Church–Turing Theorem (not to be confused with the Church–Turing thesis).
Contents |
The origin of the Entscheidungsproblem goes back to Gottfried Leibniz, who in the seventeenth century, after having constructed a successful mechanical calculating machine, dreamt of building a machine that could manipulate symbols in order to determine the truth values of mathematical statements (Davis 2000: pp. 3–20). He realized that the first step would have to be a clean formal language, and much of his subsequent work was directed towards that goal. In 1928, David Hilbert and Wilhelm Ackermann posed the question in the form outlined above.
In continuation of his "program" with which he challenged the mathematics community in 1900, at a 1928 international conference David Hilbert asked three questions, the third of which became known as "Hilbert's Entscheidungsproblem" (Hodges p. 91). As late as 1930 he believed that there would be no such thing as an unsolvable problem (Hodges p. 92, quoting from Hilbert).
Before the question could be answered, the notion of "algorithm" had to be formally defined. This was done by Alonzo Church in 1936 with the concept of "effective calculability" based on his λ calculus and by Alan Turing in the same year with his concept of Turing machines. It was later recognized that these are equivalent models of computation.
The negative answer to the Entscheidungsproblem was then given by Alonzo Church in 1935–36 and independently shortly thereafter by Alan Turing in 1936–37. Church proved that there is no computable function which decides for two given λ calculus expressions whether they are equivalent or not. He relied heavily on earlier work by Stephen Kleene. Turing reduced the halting problem for Turing machines to the Entscheidungsproblem. The work of both authors was heavily influenced by Kurt Gödel's earlier work on his incompleteness theorem, especially by the method of assigning numbers (a Gödel numbering) to logical formulas in order to reduce logic to arithmetic.
Turing's argument is as follows. Suppose we had a general decision algorithm for statements in a first-order language. The question whether a given Turing machine halts or not can be formulated as a first-order statement, which would then be susceptible to the decision algorithm. But Turing had proven earlier that no general algorithm can decide whether a given Turing machine halts.
The Entscheidungsproblem is related to Hilbert's tenth problem, which asks for an algorithm to decide whether Diophantine equations have a solution. The non-existence of such an algorithm, established by Yuri Matiyasevich in 1970, also implies a negative answer to the Entscheidungsproblem.
Some first-order theories are algorithmically decidable; examples of this include Presburger arithmetic, real closed fields and static type systems of (most) programming languages. The general first-order theory of the natural numbers expressed in Peano's axioms cannot be decided with such an algorithm, however.